package week2;

import base.TreeNode;

import java.util.ArrayList;
import java.util.List;

/**
 *
 * 144. 二叉树的前序遍历
 * https://leetcode-cn.com/problems/binary-tree-preorder-traversal/
 *
 *
 *
 * 执行结果：  通过  显示详情
 *
 * 添加备注
 * 执行用时：0 ms, 在所有 Java 提交中击败了100.00% 的用户
 * 内存消耗：36.7 MB, 在所有 Java 提交中击败了39.24% 的用户
 *
 */

public class Week2BinaryTreePreorderTraversal {

    public List<Integer> preorderTraversal(TreeNode root) {
        List<Integer> preorderList = new ArrayList<Integer>();
        preorder(root, preorderList);

        return preorderList;
    }

    public void preorder(TreeNode node, List<Integer> list) {
        if(node == null) {
            return;
        }
        list.add(node.val);
        preorder(node.left, list);
        preorder(node.right, list);
    }
}
